Complex software and hardware computing technologies can be tested with automated testing systems that utilize scripts or test cases developed by test engineers. The test cases created to test such systems are often specific to a subset of available environment configurations. Executing a given test case against an environment configuration other than what it supports can cause the test system to produce invalid results which may not be apparent to the tester.
A tester can mitigate this situation by documenting in a test plan which environment configurations a test case should be executed on as a guide to manually ensure the environment configuration is correct before the test case is executed. When selecting test cases for application across more than one platform, some testers choose to create multiple copies of each test case, one for each platform. Although this technique can be a viable approach to test multiple platforms, it can give rise to undesirable results such as a need for large storage capacity in the test system, and complex and error-prone version management across multiple platforms.